package com.heiye.blog.ai.model.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * @author: heiye
 * @date: 2025/11/19 下午22:00
 * @version: v1.0.0
 * @description: TODO
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TTSRequest {
    /**
     * 应用密钥
     */
    private String appKey;

    /**
     * 模型名称
     */
    private String model;

    /**
     * 版本号
     */
    private String version;

    /**
     * 角色模型名称
     */
    private String roleName;

    /**
     * 提示文本语言
     */
    private String promptLang;

    /**
     * 情感参数
     */
    private String emotion;

    /**
     * 待合成的文本内容
     */
    private String text;

    /**
     * 文本语言
     */
    private String textLang;

    /**
     * 采样时选择的top k个最可能的token
     */
    private Integer topK;

    /**
     * 采样时累积概率阈值
     */
    private Integer topP;

    /**
     * 采样温度参数，控制生成随机性
     */
    private Integer temperature;

    /**
     * 文本分割方法
     */
    private String textSplitMethod;

    /**
     * 批处理大小
     */
    private Integer batchSize;

    /**
     * 批处理阈值
     */
    private Double batchThreshold;

    /**
     * 是否分割桶
     */
    private Boolean splitBucket;

    /**
     * 语速
     */
    private Integer speed;

    /**
     * 片段间隔时间
     */
    private Double fragmentInterval;

    /**
     * 媒体文件类型
     */
    private String mediaType;

    /**
     * 是否并行推理
     */
    private Boolean parallelInfer;

    /**
     * 重复惩罚系数
     */
    private Double repetitionPenalty;

    /**
     * 随机种子
     */
    private Integer seed;

    /**
     * 采样步数
     */
    private Integer sampleSteps;

    /**
     * 是否进行语音识别
     */
    private Boolean ifSr;
}